package elm.service;

import elm.dao.UserDao;
import elm.entity.po.User;
import elm.entity.po.vo.UserRequest;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

/**
 * 用户服务类
 * 提供用户相关的业务逻辑处理，包括：
 * - 用户注册功能
 */
@Service
public class UserService {
    /**
     * 用户数据访问接口实例
     * 通过@Resource注解自动注入
     */
    @Resource
    private UserDao userDao;

    /**
     * 用户注册接口
     * 实现新用户注册功能，包含以下步骤：
     * 1. 打印请求参数（调试用途）
     * 2. 将请求对象转换为实体对象
     * 3. 设置用户创建时间
     * 4. 持久化用户信息到数据库
     *
     * @param userRequest 用户注册请求参数封装对象
     * @return 注册结果提示字符串
     * 
     * @apiNote 接口返回值为固定字符串"注册成功"
     *         当前实现未包含异常处理和校验逻辑
     *         密码存储依赖User实体的BCrypt加密机制
     */
    public String register(UserRequest userRequest) {
        System.out.println(userRequest);
        User user = new User(userRequest);
        user.setCreatedAt(LocalDateTime.now());
        userDao.save(user);
        return "注册成功";
    }
}
